package com.zretc.emptraining.service;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.RefTable;

public interface RefTableService {
	/**
	 * 添加参培信息
	 * @param refTable
	 * @return
	 */
	public boolean addRefTable(RefTable refTable);
	/**
	 * 删除参培信息
	 * @param refTableNo
	 * @return
	 */
	public boolean deleteRefTable(int refTableNo);
	/**
	 * 修改参培信息
	 * @param refTable
	 * @return
	 */
	public boolean updateRefTable(RefTable refTable);
	/**
	 * 分页查询   
	 * @param page
	 * @param pageSize
	 * @param empNo
	 * @return
	 */
	// 根据员工号
	public PageData<RefTable> getRefTabelByEmpNo(int page, int pageSize, int empNo);
	// 根据课程计划号
	public PageData<RefTable> getRefTabelBycpNo(int page, int pageSize, int cpNo);
	// 全部
	public PageData<RefTable> getRefTabelByPage(int page, int pageSize);

	/**
	 * 当个人申请在通过之后在被申请的时候的删除操作，自动，不同手动
	 * 
	 * @param empNo
	 * @param cpNo
	 * @return
	 */
	public boolean delRefWhereDelMA(int empNo, int cpNo);

	/**
	 * 根据部门进行查询
	 * 
	 * @param page
	 * @param pageSize
	 * @param cpNo
	 * @return
	 */
	public PageData<RefTable> getRefTabelBydeptNo(int page, int pageSize, int deptNo);

	/**
	 * 查询部门中的某个员工的参培信息
	 * 
	 * @param page
	 * @param pageSize
	 * @param deptNo
	 * @return
	 */
	public PageData<RefTable> getRefTabelBydeptNoWithEmpNo(int page, int pageSize, int deptNo, int empNo);
	
	/**
	 * 判断参培是否已存在
	 * 
	 * @param empNo
	 * @param cpNo
	 * @return
	 */
	public boolean diae( int cpNo, int empNo);
	/**
	 * 获取参加某课程计划的人数
	 * @param cpNo
	 * @return
	 */
	public int getCountByCPNo(int cpNo);
	
	/**
	 * 查询课程计划编号的那节课的人员。
	 * @param page
	 * @param pageSize
	 * @param cpNo
	 * @param empNo
	 * @return
	 */
	public PageData<RefTable> getRefTabelBycpNoWithEmpNo(int page, int pageSize, int cpNo,int empNo);}
